package com.wwwarehouse.contract.bean;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * Created by ShineF on 2017/11/15 0015.
 */

public class RleaseInfoAndFunctionBean implements Parcelable {


    /**
     * delivery : {"deliveryEarly":8,"deliveryTempUkid":32144500000001120,"deliveryLast":9,"sendLast":6,"sendEarly":3}
     * obligation : {"createUserId":10002269,"updateUserId":null,"defaultValueMin":"6","contractUkid":32144300000001104,"updateTime":"2017-11-15 13:55:12","obligationTempUkid":32144800000001100,"obligationUkid":32144000000001107,"defaultType":0,"rewandValue":null,"createTime":"2017-11-15 13:55:12","obligationOrderUkid":32144800000001100,"rewandType":0,"defaultValueMax":"63"}
     * pbRsHead : {"validStartTime":"2017-11-15 13:55:07","validEndTime":"2017-11-24 13:52:00","contractUkid":32144300000001104}
     * payment : {"createUserId":10002269,"paymentTempUkid":32144200000001121,"updateUserId":null,"contractUkid":32144300000001104,"accountBankCardCode":null,"updateTime":"2017-11-15 13:55:12","payWeek":3,"accountBank":null,"payMonth":0,"createTime":"2017-11-15 13:55:12","payOfflineFlag":1,"accountBankCardName":null,"payOrderFlag":1,"paymentPublishUkid":32144200000001121,"accountWechat":null,"accountAlipay":null}
     * itemCount : 3
     */

    private DeliveryBean delivery;
    private ObligationBean obligation;
    private PbRsHeadBean pbRsHead;
    private PaymentBean payment;
    private int itemCount;

    public DeliveryBean getDelivery() {
        return delivery;
    }

    public void setDelivery(DeliveryBean delivery) {
        this.delivery = delivery;
    }

    public ObligationBean getObligation() {
        return obligation;
    }

    public void setObligation(ObligationBean obligation) {
        this.obligation = obligation;
    }

    public PbRsHeadBean getPbRsHead() {
        return pbRsHead;
    }

    public void setPbRsHead(PbRsHeadBean pbRsHead) {
        this.pbRsHead = pbRsHead;
    }

    public PaymentBean getPayment() {
        return payment;
    }

    public void setPayment(PaymentBean payment) {
        this.payment = payment;
    }

    public int getItemCount() {
        return itemCount;
    }

    public void setItemCount(int itemCount) {
        this.itemCount = itemCount;
    }

    public static class DeliveryBean implements Parcelable {
        /**
         * deliveryEarly : 8
         * deliveryTempUkid : 32144500000001120
         * deliveryLast : 9
         * sendLast : 6
         * sendEarly : 3
         */

        private int deliveryEarly;
        private long deliveryTempUkid;
        private int deliveryLast;
        private int sendLast;
        private int sendEarly;

        public int getDeliveryEarly() {
            return deliveryEarly;
        }

        public void setDeliveryEarly(int deliveryEarly) {
            this.deliveryEarly = deliveryEarly;
        }

        public long getDeliveryTempUkid() {
            return deliveryTempUkid;
        }

        public void setDeliveryTempUkid(long deliveryTempUkid) {
            this.deliveryTempUkid = deliveryTempUkid;
        }

        public int getDeliveryLast() {
            return deliveryLast;
        }

        public void setDeliveryLast(int deliveryLast) {
            this.deliveryLast = deliveryLast;
        }

        public int getSendLast() {
            return sendLast;
        }

        public void setSendLast(int sendLast) {
            this.sendLast = sendLast;
        }

        public int getSendEarly() {
            return sendEarly;
        }

        public void setSendEarly(int sendEarly) {
            this.sendEarly = sendEarly;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(this.deliveryEarly);
            dest.writeLong(this.deliveryTempUkid);
            dest.writeInt(this.deliveryLast);
            dest.writeInt(this.sendLast);
            dest.writeInt(this.sendEarly);
        }

        public DeliveryBean() {
        }

        protected DeliveryBean(Parcel in) {
            this.deliveryEarly = in.readInt();
            this.deliveryTempUkid = in.readLong();
            this.deliveryLast = in.readInt();
            this.sendLast = in.readInt();
            this.sendEarly = in.readInt();
        }

        public static final Parcelable.Creator<DeliveryBean> CREATOR = new Parcelable.Creator<DeliveryBean>() {
            @Override
            public DeliveryBean createFromParcel(Parcel source) {
                return new DeliveryBean(source);
            }

            @Override
            public DeliveryBean[] newArray(int size) {
                return new DeliveryBean[size];
            }
        };
    }

    public static class ObligationBean implements Parcelable {
        /**
         * createUserId : 10002269
         * updateUserId : null
         * defaultValueMin : 6
         * contractUkid : 32144300000001104
         * updateTime : 2017-11-15 13:55:12
         * obligationTempUkid : 32144800000001100
         * obligationUkid : 32144000000001107
         * defaultType : 0
         * rewandValue : null
         * createTime : 2017-11-15 13:55:12
         * obligationOrderUkid : 32144800000001100
         * rewandType : 0
         * defaultValueMax : 63
         */

        private int createUserId;
        private String updateUserId;
        private String defaultValueMin;
        private long contractUkid;
        private String updateTime;
        private long obligationTempUkid;
        private long obligationUkid;
        private int defaultType;
        private String rewandValue;
        private String createTime;
        private long obligationOrderUkid;
        private int rewandType;
        private String defaultValueMax;

        public int getCreateUserId() {
            return createUserId;
        }

        public void setCreateUserId(int createUserId) {
            this.createUserId = createUserId;
        }

        public String getUpdateUserId() {
            return updateUserId;
        }

        public void setUpdateUserId(String updateUserId) {
            this.updateUserId = updateUserId;
        }

        public String getDefaultValueMin() {
            return defaultValueMin;
        }

        public void setDefaultValueMin(String defaultValueMin) {
            this.defaultValueMin = defaultValueMin;
        }

        public long getContractUkid() {
            return contractUkid;
        }

        public void setContractUkid(long contractUkid) {
            this.contractUkid = contractUkid;
        }

        public String getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(String updateTime) {
            this.updateTime = updateTime;
        }

        public long getObligationTempUkid() {
            return obligationTempUkid;
        }

        public void setObligationTempUkid(long obligationTempUkid) {
            this.obligationTempUkid = obligationTempUkid;
        }

        public long getObligationUkid() {
            return obligationUkid;
        }

        public void setObligationUkid(long obligationUkid) {
            this.obligationUkid = obligationUkid;
        }

        public int getDefaultType() {
            return defaultType;
        }

        public void setDefaultType(int defaultType) {
            this.defaultType = defaultType;
        }

        public String getRewandValue() {
            return rewandValue;
        }

        public void setRewandValue(String rewandValue) {
            this.rewandValue = rewandValue;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public long getObligationOrderUkid() {
            return obligationOrderUkid;
        }

        public void setObligationOrderUkid(long obligationOrderUkid) {
            this.obligationOrderUkid = obligationOrderUkid;
        }

        public int getRewandType() {
            return rewandType;
        }

        public void setRewandType(int rewandType) {
            this.rewandType = rewandType;
        }

        public String getDefaultValueMax() {
            return defaultValueMax;
        }

        public void setDefaultValueMax(String defaultValueMax) {
            this.defaultValueMax = defaultValueMax;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(this.createUserId);
            dest.writeString(this.updateUserId);
            dest.writeString(this.defaultValueMin);
            dest.writeLong(this.contractUkid);
            dest.writeString(this.updateTime);
            dest.writeLong(this.obligationTempUkid);
            dest.writeLong(this.obligationUkid);
            dest.writeInt(this.defaultType);
            dest.writeString(this.rewandValue);
            dest.writeString(this.createTime);
            dest.writeLong(this.obligationOrderUkid);
            dest.writeInt(this.rewandType);
            dest.writeString(this.defaultValueMax);
        }

        public ObligationBean() {
        }

        protected ObligationBean(Parcel in) {
            this.createUserId = in.readInt();
            this.updateUserId = in.readString();
            this.defaultValueMin = in.readString();
            this.contractUkid = in.readLong();
            this.updateTime = in.readString();
            this.obligationTempUkid = in.readLong();
            this.obligationUkid = in.readLong();
            this.defaultType = in.readInt();
            this.rewandValue = in.readString();
            this.createTime = in.readString();
            this.obligationOrderUkid = in.readLong();
            this.rewandType = in.readInt();
            this.defaultValueMax = in.readString();
        }

        public static final Parcelable.Creator<ObligationBean> CREATOR = new Parcelable.Creator<ObligationBean>() {
            @Override
            public ObligationBean createFromParcel(Parcel source) {
                return new ObligationBean(source);
            }

            @Override
            public ObligationBean[] newArray(int size) {
                return new ObligationBean[size];
            }
        };
    }

    public static class PbRsHeadBean implements Parcelable {
        /**
         * validStartTime : 2017-11-15 13:55:07
         * validEndTime : 2017-11-24 13:52:00
         * contractUkid : 32144300000001104
         */

        private String validStartTime;
        private String validEndTime;
        private String contractUkid;

        public String getValidStartTime() {
            return validStartTime;
        }

        public void setValidStartTime(String validStartTime) {
            this.validStartTime = validStartTime;
        }

        public String getValidEndTime() {
            return validEndTime;
        }

        public void setValidEndTime(String validEndTime) {
            this.validEndTime = validEndTime;
        }

        public String getContractUkid() {
            return contractUkid;
        }

        public void setContractUkid(String contractUkid) {
            this.contractUkid = contractUkid;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.validStartTime);
            dest.writeString(this.validEndTime);
            dest.writeString(this.contractUkid);
        }

        public PbRsHeadBean() {
        }

        protected PbRsHeadBean(Parcel in) {
            this.validStartTime = in.readString();
            this.validEndTime = in.readString();
            this.contractUkid = in.readString();
        }

        public static final Creator<PbRsHeadBean> CREATOR = new Creator<PbRsHeadBean>() {
            @Override
            public PbRsHeadBean createFromParcel(Parcel source) {
                return new PbRsHeadBean(source);
            }

            @Override
            public PbRsHeadBean[] newArray(int size) {
                return new PbRsHeadBean[size];
            }
        };
    }

    public static class PaymentBean implements Parcelable {
        /**
         * createUserId : 10002269
         * paymentTempUkid : 32144200000001121
         * updateUserId : null
         * contractUkid : 32144300000001104
         * accountBankCardCode : null
         * updateTime : 2017-11-15 13:55:12
         * payWeek : 3
         * accountBank : null
         * payMonth : 0
         * createTime : 2017-11-15 13:55:12
         * payOfflineFlag : 1
         * accountBankCardName : null
         * payOrderFlag : 1
         * paymentPublishUkid : 32144200000001121
         * accountWechat : null
         * accountAlipay : null
         */

        private int createUserId;
        private long paymentTempUkid;
        private String updateUserId;
        private long contractUkid;
        private String accountBankCardCode;
        private String updateTime;
        private int payWeek;
        private String accountBank;
        private int payMonth;
        private String createTime;
        private int payOfflineFlag;
        private String accountBankCardName;
        private int payOrderFlag;
        private long paymentPublishUkid;
        private String accountWechat;
        private String accountAlipay;

        public int getCreateUserId() {
            return createUserId;
        }

        public void setCreateUserId(int createUserId) {
            this.createUserId = createUserId;
        }

        public long getPaymentTempUkid() {
            return paymentTempUkid;
        }

        public void setPaymentTempUkid(long paymentTempUkid) {
            this.paymentTempUkid = paymentTempUkid;
        }

        public String getUpdateUserId() {
            return updateUserId;
        }

        public void setUpdateUserId(String updateUserId) {
            this.updateUserId = updateUserId;
        }

        public long getContractUkid() {
            return contractUkid;
        }

        public void setContractUkid(long contractUkid) {
            this.contractUkid = contractUkid;
        }

        public String getAccountBankCardCode() {
            return accountBankCardCode;
        }

        public void setAccountBankCardCode(String accountBankCardCode) {
            this.accountBankCardCode = accountBankCardCode;
        }

        public String getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(String updateTime) {
            this.updateTime = updateTime;
        }

        public int getPayWeek() {
            return payWeek;
        }

        public void setPayWeek(int payWeek) {
            this.payWeek = payWeek;
        }

        public String getAccountBank() {
            return accountBank;
        }

        public void setAccountBank(String accountBank) {
            this.accountBank = accountBank;
        }

        public int getPayMonth() {
            return payMonth;
        }

        public void setPayMonth(int payMonth) {
            this.payMonth = payMonth;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public int getPayOfflineFlag() {
            return payOfflineFlag;
        }

        public void setPayOfflineFlag(int payOfflineFlag) {
            this.payOfflineFlag = payOfflineFlag;
        }

        public String getAccountBankCardName() {
            return accountBankCardName;
        }

        public void setAccountBankCardName(String accountBankCardName) {
            this.accountBankCardName = accountBankCardName;
        }

        public int getPayOrderFlag() {
            return payOrderFlag;
        }

        public void setPayOrderFlag(int payOrderFlag) {
            this.payOrderFlag = payOrderFlag;
        }

        public long getPaymentPublishUkid() {
            return paymentPublishUkid;
        }

        public void setPaymentPublishUkid(long paymentPublishUkid) {
            this.paymentPublishUkid = paymentPublishUkid;
        }

        public String getAccountWechat() {
            return accountWechat;
        }

        public void setAccountWechat(String accountWechat) {
            this.accountWechat = accountWechat;
        }

        public String getAccountAlipay() {
            return accountAlipay;
        }

        public void setAccountAlipay(String accountAlipay) {
            this.accountAlipay = accountAlipay;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(this.createUserId);
            dest.writeLong(this.paymentTempUkid);
            dest.writeString(this.updateUserId);
            dest.writeLong(this.contractUkid);
            dest.writeString(this.accountBankCardCode);
            dest.writeString(this.updateTime);
            dest.writeInt(this.payWeek);
            dest.writeString(this.accountBank);
            dest.writeInt(this.payMonth);
            dest.writeString(this.createTime);
            dest.writeInt(this.payOfflineFlag);
            dest.writeString(this.accountBankCardName);
            dest.writeInt(this.payOrderFlag);
            dest.writeLong(this.paymentPublishUkid);
            dest.writeString(this.accountWechat);
            dest.writeString(this.accountAlipay);
        }

        public PaymentBean() {
        }

        protected PaymentBean(Parcel in) {
            this.createUserId = in.readInt();
            this.paymentTempUkid = in.readLong();
            this.updateUserId = in.readString();
            this.contractUkid = in.readLong();
            this.accountBankCardCode = in.readString();
            this.updateTime = in.readString();
            this.payWeek = in.readInt();
            this.accountBank = in.readString();
            this.payMonth = in.readInt();
            this.createTime = in.readString();
            this.payOfflineFlag = in.readInt();
            this.accountBankCardName = in.readString();
            this.payOrderFlag = in.readInt();
            this.paymentPublishUkid = in.readLong();
            this.accountWechat = in.readString();
            this.accountAlipay = in.readString();
        }

        public static final Creator<PaymentBean> CREATOR = new Creator<PaymentBean>() {
            @Override
            public PaymentBean createFromParcel(Parcel source) {
                return new PaymentBean(source);
            }

            @Override
            public PaymentBean[] newArray(int size) {
                return new PaymentBean[size];
            }
        };
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeParcelable(this.delivery, flags);
        dest.writeParcelable(this.obligation, flags);
        dest.writeParcelable(this.pbRsHead, flags);
        dest.writeParcelable(this.payment, flags);
        dest.writeInt(this.itemCount);
    }

    public RleaseInfoAndFunctionBean() {
    }

    protected RleaseInfoAndFunctionBean(Parcel in) {
        this.delivery = in.readParcelable(DeliveryBean.class.getClassLoader());
        this.obligation = in.readParcelable(ObligationBean.class.getClassLoader());
        this.pbRsHead = in.readParcelable(PbRsHeadBean.class.getClassLoader());
        this.payment = in.readParcelable(PaymentBean.class.getClassLoader());
        this.itemCount = in.readInt();
    }

    public static final Parcelable.Creator<RleaseInfoAndFunctionBean> CREATOR = new Parcelable.Creator<RleaseInfoAndFunctionBean>() {
        @Override
        public RleaseInfoAndFunctionBean createFromParcel(Parcel source) {
            return new RleaseInfoAndFunctionBean(source);
        }

        @Override
        public RleaseInfoAndFunctionBean[] newArray(int size) {
            return new RleaseInfoAndFunctionBean[size];
        }
    };
}
